Inverse Variance Track Time Averages.#1089
Merged
rodwyer100 merged 4 commits intomasterfrom Mar 31, 2025
Merged
Conversation
Contributor
Author
|
Btw for those html plots, the changes were done on the distributions on the right (unchanged left). Only the first is slight worse; all other runs are slightly better. |
mgignac
reviewed
Mar 31, 2025
mgignac
approved these changes
Mar 31, 2025
mgignac
approved these changes
Mar 31, 2025
bloodyyugo
approved these changes
Mar 31, 2025
| } | ||
| } | ||
| Variance=1.0/Variance; | ||
| Measurement m = new Measurement(umeas, xStrip, du, time, localHit.getdEdx()*1000000.,Variance); |
Contributor
There was a problem hiding this comment.
Really, this should be done in clustering but SiTrackerHit doesn't have a place for the error on the time. We do extend SiTrackerHit in hps-java at org.hps.recon.tracking.SiTrackerHitStrip1D and we could put the error in there but it wouldn't be saved to the LCIO. For now this is ok...I think we have some other changes to LCIO/lcsim we need to make so we should put this on the list.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
It is mathematically proven that the way to take a weighted average of independently, possibly nonidentically distributed, normal distributions is through inverse variance sampling. Namely you weight a time sample by the inverse of the square of its error. This push request aims to implement this change. It does so fairly successfully; I include a number of html files with various information about how the changes work. There are two caveats about this weighting scheme that are important to note. They first arises from the broad shoulder issue we have in the first two layers; the second from just hps-java architecture. That is, due to an irreducible degeneracy in hits (that was only partially solved by previous chi square probability manipulation) there is a significant degree of non gaussianity to the first two layer hit time distributions (particularly in layers nearmost to the detector).
Track Time:https://s3df.slac.stanford.edu/people/rodwyer1/timeFix/orChange/tracktime.html
Z Momentum of Track:https://s3df.slac.stanford.edu/people/rodwyer1/timeFix/orChange/pzonTrack.html (seemingly completely unchanged).
The change is small, but theoretically motivated. When yall look at the plots, and are convinced it is fine, I will also make changes to the jlab plot stuff (that will probably need to be done again)